package com.budwk.app.sqfwDoc.codeGeneratorV2.test;

import com.budwk.app.sqfwDoc.codeGeneratorV2.fileParam.ExcelGenerateParam;
import com.budwk.app.sqfwDoc.codeGeneratorV2.fileParam.ExcelRowDataParam;
import com.budwk.app.sqfwDoc.codeGeneratorV2.generate.BaseExcelGenerator;
import com.budwk.app.sqfwDoc.codeGeneratorV2.generate.ResultOfExcelDataInto;
import com.budwk.app.util.poiUtils.excelPictureConfigBO.ExcelFileCreateParamBO;

import java.util.List;
import java.util.Map;

/**
 * @author ZY.Wang
 * @since 2024/1/26
 */
public class RefuseClassifyExcelGenerator extends BaseExcelGenerator {

    /**
     * 自定义excel的表头数据
     *
     * @param excelParam         excel参数整体参数map
     * @param excelGenerateParam 创建excel所提供的参数
     */
    @Override
    protected void customerPopularHeaderData(Map<String, Object> excelParam, ExcelGenerateParam excelGenerateParam) {

    }

    /**
     * 后端自定义维护表头数据
     *
     * @param excelParam         excel整体参数
     * @param excelGenerateParam 创建excel所提供的参数
     */
    @Override
    protected void customerPopularHeaderDataForAdmin(Map<String, Object> excelParam, ExcelGenerateParam excelGenerateParam) {

    }

    /**
     * @param excelParam         excel整体参数
     * @param excelGenerateParam 创建excel所提供的参数
     * @return 判断excel是否含有数据
     */
    @Override
    protected ResultOfExcelDataInto judgeExcelHaveDataBeforeErgodic(Map<String, Object> excelParam, ExcelGenerateParam excelGenerateParam) {
        return null;
    }

    /**
     * 根据行数据判断是否该条数据进入excel中
     *
     * @param rowDataParam       行数据
     * @param excelGenerateParam excel生成所提供的参数
     * @return 是/否
     */
    @Override
    protected boolean addRowDataCondition(ExcelRowDataParam rowDataParam, ExcelGenerateParam excelGenerateParam) {
        RefuseClassifyPdfDTO fieldDTO = (RefuseClassifyPdfDTO) rowDataParam.getAbstractCustomerPdfCreateField();
        return true;
    }

    /**
     * 用户自定义填充excel实体数据
     *
     * @param listMap            数据数据
     * @param excelGenerateParam 创建excel所需的参数
     */
    @Override
    protected void customerPopularSheetData(List<Map<String, Object>> listMap, ExcelGenerateParam excelGenerateParam) {

    }

    /**
     * 自定义填充excel中每一行的数据
     *
     * @param rowDataMap   当前行的数据Map
     * @param rowDataParam 所提供的当前行的数据
     */
    @Override
    protected void customerPopularRowDataMap(Map<String, Object> rowDataMap, ExcelRowDataParam rowDataParam) {

    }

    /**
     * 后端生成excel时候自定义填充excel中每一行的数据
     *
     * @param rowDataMap   当前行的数据Map
     * @param rowDataParam 所提供的当前行的数据
     */
    @Override
    protected void customerPopularRowDataMapForAdmin(Map<String, Object> rowDataMap, ExcelRowDataParam rowDataParam) {

    }

    /**
     * 在创建之前判断excel中是否含有数据
     *
     * @param excelParam         创建之前excel中已经填充的数据
     * @param excelGenerateParam 所提供的excel创建的所需要的数据
     * @return 结果
     */
    @Override
    protected ResultOfExcelDataInto judgeExcelHaveDataBeforeCreate(Map<String, Object> excelParam, ExcelGenerateParam excelGenerateParam) {
        return null;
    }

    /**
     * 设置模板的文件的路径名称
     *
     * @return 模板文件的路径已经名称
     */
    @Override
    protected String getTemplatePath(ExcelGenerateParam excelGenerateParam) {
        return null;
    }

    /**
     * 设置excel下载的名称
     *
     * @return 名称
     */
    @Override
    protected String getDownloadFileName(ExcelGenerateParam excelGenerateParam) {
        return null;
    }

    /**
     * 如果excel中含有图片，那么需要在这里设置图片的子u但
     *
     * @return 土拍你配置BO
     */
    @Override
    protected Class<?> getImageConfigBO() {
        return null;
    }

    /**
     * 允许用户在创建excel文件之前对配置进行修改
     *
     * @param excelFileCreateParamBO 创建excel的配置参数
     */
    @Override
    protected void completeExcelFileCreateParam(ExcelFileCreateParamBO excelFileCreateParamBO) {

    }
}
